package com.zero2oneblog.constant;

public enum StatusCodeEnum {
    //定义枚举常量
    SUCCESS(20000, "操作成功");

    public Integer getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

    private final Integer code;

    private final String desc;

    StatusCodeEnum(int code, String desc) { // SUCCESS(20000, "操作成功") 其实就是调用了这个构造函数
        this.code = code;
        this.desc = desc;
    }

    /*
    // 枚举常量定义
    VALUE1("Value One"),
    VALUE2("Value Two"),
    VALUE3("Value Three");

    // 构造函数
    MyEnum(String description) {
        this.description = description;
    }

    当你使用 VALUE1("Value One") 定义枚举常量时，实际上是创建了一个 MyEnum 的实例，并调用了 MyEnum 枚举的构造函数。构造函数中的 String description 参数就是传递给这个构造函数的实际参数值。

    所以，对于 VALUE1，其实例被创建时，构造函数会执行 this.description = "Value One";，将传递的描述信息设置到了 description 属性上。同样的逻辑也适用于 VALUE2 和 VALUE3。

    通过这种方式，每个枚举常量都可以携带不同的描述信息，因为它们在定义时都会调用相同的构造函数，并传递不同的参数值。这样，每个枚举常量的 description 属性都被初始化为相应的描述信息。

     */
}
